package com.delu.entity;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author author
 * @since 2021-12-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("coupon")
@ApiModel(value="Coupon对象", description="")
public class Coupon implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "优惠券id")
    @TableId(value = "coupon_id")
    private Integer couponId;

    @ApiModelProperty(value = "名称")
    @TableField("coupon_name")
    private String couponName;

    @ApiModelProperty(value = "优惠券面额")
    @TableField("coupon_denomination")
    private BigDecimal couponDenomination;

    @ApiModelProperty(value = "优惠券类型")
    @TableField("coupon_type")
    private Integer couponType;

    @ApiModelProperty(value = "优惠条件(例如满100进行使用优惠券面额)")
    @TableField("coupon_rule")
    private Integer couponRule;

    @ApiModelProperty(value = "优惠券数量")
    @TableField("coupon_number")
    private Integer couponNumber;

    @ApiModelProperty(value = "优惠券有效天数")
    @TableField("coupon_day")
    private Integer couponDay;

    @ApiModelProperty(value = "优惠券是否可用")
    @TableField("coupon_status")
    private Integer couponStatus;

    @ApiModelProperty(value = "优惠券起始时间")
    @TableField("uptime")
    private LocalDateTime uptime;

    @ApiModelProperty(value = "优惠券结束时间")
    @TableField("overtime")
    private LocalDateTime overtime;

    public Coupon() {
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Integer getCouponId() {
        return couponId;
    }

    public void setCouponId(Integer couponId) {
        this.couponId = couponId;
    }

    public String getCouponName() {
        return couponName;
    }

    public void setCouponName(String couponName) {
        this.couponName = couponName;
    }

    public BigDecimal getCouponDenomination() {
        return couponDenomination;
    }

    public void setCouponDenomination(BigDecimal couponDenomination) {
        this.couponDenomination = couponDenomination;
    }

    public Integer getCouponType() {
        return couponType;
    }

    public void setCouponType(Integer couponType) {
        this.couponType = couponType;
    }

    public Integer getCouponRule() {
        return couponRule;
    }

    public void setCouponRule(Integer couponRule) {
        this.couponRule = couponRule;
    }

    public Integer getCouponNumber() {
        return couponNumber;
    }

    public void setCouponNumber(Integer couponNumber) {
        this.couponNumber = couponNumber;
    }

    public Integer getCouponDay() {
        return couponDay;
    }

    public void setCouponDay(Integer couponDay) {
        this.couponDay = couponDay;
    }

    public Integer getCouponStatus() {
        return couponStatus;
    }

    public void setCouponStatus(Integer couponStatus) {
        this.couponStatus = couponStatus;
    }

    public LocalDateTime getUptime() {
        return uptime;
    }

    public void setUptime(LocalDateTime uptime) {
        this.uptime = uptime;
    }

    public LocalDateTime getOvertime() {
        return overtime;
    }

    public void setOvertime(LocalDateTime overtime) {
        this.overtime = overtime;
    }

    public Coupon(Integer couponId, String couponName, BigDecimal couponDenomination, Integer couponType, Integer couponRule, Integer couponNumber, Integer couponDay, Integer couponStatus, LocalDateTime uptime, LocalDateTime overtime) {
        this.couponId = couponId;
        this.couponName = couponName;
        this.couponDenomination = couponDenomination;
        this.couponType = couponType;
        this.couponRule = couponRule;
        this.couponNumber = couponNumber;
        this.couponDay = couponDay;
        this.couponStatus = couponStatus;
        this.uptime = uptime;
        this.overtime = overtime;
    }
}
